package com.github.niefy.modules.third.vo;

import com.github.niefy.common.utils.Json;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

/**
 * 查询学生学业进展成绩信息移动端展示VO
 * */
@Data
@Accessors(chain = true)
@NoArgsConstructor
public class StuSpmScoreListVo {

    private List<SpmScoreVo> spmScoreList = new ArrayList<>();

    /**
     * 某学年学期课程成绩列表
     */
    @Data
    @Accessors(chain = true)
    @NoArgsConstructor
    public class SpmScoreVo {
        /**
         * 学年
         */
        private String academicyearno;
        /**
         * 学年名
         */
        private String academicyearname;
        /**
         * 学期
         */
        private String termno;
        /**
         * 学期名
         */
        private String termname;
        /**
         * 学号
         */
        //private String studentno;
        /**
         * 课程成绩列表
          */
        private List<CourseScoreVo> courseScoreList = new LinkedList<>();
    }

    /**
     * 课程成绩
     */
    @Data
    @Accessors(chain = true)
    @NoArgsConstructor
    public class CourseScoreVo {
        /**
         * 课程编号
         */
        private String courseno;
        /**
         * 课程内容
         */
        private String coursename;
        /**
         * 课程类别
         */
        private String coursecategory;
        /**
         * 学分
         */
        private String credit;
        /**
         * 分数
         */
        private String score;
        /**
         * 课程学分绩点
         */
        private String creditgpa;
    }

    @Override
    public String toString() {
        return Json.toJsonString(this);
    }
}
